package ui;

import ui.components.*;

public class Assets {
	protected ImageList imagesLED16;
	protected ImageList imagesLED24;
	protected ImageList imagesSwitch16;
	protected ImageList imagesSwitch24;
	protected ImageList imagesButton24;
	protected ImageList imagesDial64;
	protected ImageList imagesDial96;
	
	public ImageList ledBlue16;
	public ImageList ledBlue24;
	public ImageList ledRed16;
	public ImageList ledRed24;
	public ImageList ledGreen16;
	public ImageList ledGreen24;
	public ImageList ledYellow16;
	public ImageList ledYellow24;
	public ImageList ledAmber16;
	public ImageList ledAmber24;

	public ImageList switchBlue16;
	public ImageList switchBlue24;
	public ImageList switchRed16;
	public ImageList switchRed24;
	public ImageList switchGreen16;
	public ImageList switchGreen24;
	public ImageList switchYellow16;
	public ImageList switchYellow24;
	public ImageList switchAmber16;
	public ImageList switchAmber24;
	public ImageList switchBlack16;
	public ImageList switchBlack24;
	
	public ImageList buttonRed24;
	public ImageList buttonBlue24;
	public ImageList buttonGreen24;
	public ImageList buttonYellow24;
	
	public ImageList dial64;
	public ImageList dial96;
	
	public Assets( ) {
		imagesLED16 = new ImageList( 10 );
		imagesLED24 = new ImageList( 10 );
		imagesSwitch16 = new ImageList( 12 );
		imagesSwitch24 = new ImageList( 12 );
		imagesButton24 = new ImageList(8 );
		imagesDial64 = new ImageList( 8 );
		imagesDial96 = new ImageList( 8 );
		
		ImageLoader loader = new ImageLoader();
		//imagesLED16.add( loader.read( "assets/images/leds/led_red_16_unlit.png" ), 0 );
		imagesLED16.add( loader.read( "led_red_16_unlit.png" ), 0 );
		imagesLED16.add( loader.read( "led_red_16_lit.png" ), 1 );
		imagesLED16.add( loader.read( "led_blue_16_unlit.png" ), 2 );
		imagesLED16.add( loader.read( "led_blue_16_lit.png" ), 3 );
		imagesLED16.add( loader.read( "led_green_16_unlit.png" ), 4 );
		imagesLED16.add( loader.read( "led_green_16_lit.png" ), 5 );
		imagesLED16.add( loader.read( "led_yellow_16_unlit.png" ), 6 );
		imagesLED16.add( loader.read( "led_yellow_16_lit.png" ), 7 );
		imagesLED16.add( loader.read( "led_amber_16_unlit.png" ), 8 );
		imagesLED16.add( loader.read( "led_amber_16_lit.png" ), 9 );

		imagesLED24.add( loader.read( "led_red_24_unlit.png" ), 0 );
		imagesLED24.add( loader.read( "led_red_24_lit.png" ), 1 );
		imagesLED24.add( loader.read( "led_blue_24_unlit.png" ), 2 );
		imagesLED24.add( loader.read( "led_blue_24_lit.png" ), 3 );
		imagesLED24.add( loader.read( "led_green_24_unlit.png" ), 4 );
		imagesLED24.add( loader.read( "led_green_24_lit.png" ), 5 );
		imagesLED24.add( loader.read( "led_yellow_24_unlit.png" ), 6 );
		imagesLED24.add( loader.read( "led_yellow_24_lit.png" ), 7 );
		imagesLED24.add( loader.read( "led_amber_24_unlit.png" ), 8 );
		imagesLED24.add( loader.read( "led_amber_24_lit.png" ), 9 );
		
		imagesSwitch16.add( loader.read( "switch_red_16_down.png" ), 0 );
		imagesSwitch16.add( loader.read( "switch_red_16_up.png" ), 1 );
		imagesSwitch16.add( loader.read( "switch_blue_16_down.png" ), 2 );
		imagesSwitch16.add( loader.read( "switch_blue_16_up.png" ), 3 );
		imagesSwitch16.add( loader.read( "switch_green_16_down.png" ), 4 );
		imagesSwitch16.add( loader.read( "switch_green_16_up.png" ), 5 );
		imagesSwitch16.add( loader.read( "switch_yellow_16_down.png" ), 6 );
		imagesSwitch16.add( loader.read( "switch_yellow_16_up.png" ), 7 );
		imagesSwitch16.add( loader.read( "switch_amber_16_down.png" ), 8 );
		imagesSwitch16.add( loader.read( "switch_amber_16_up.png" ), 9 );
		imagesSwitch16.add( loader.read( "switch_black_16_down.png" ), 10 );
		imagesSwitch16.add( loader.read( "switch_black_16_up.png" ), 11 );

		imagesSwitch24.add( loader.read( "switch_red_24_down.png" ), 0 );
		imagesSwitch24.add( loader.read( "switch_red_24_up.png" ), 1 );
		imagesSwitch24.add( loader.read( "switch_blue_24_down.png" ), 2 );
		imagesSwitch24.add( loader.read( "switch_blue_24_up.png" ), 3 );
		imagesSwitch24.add( loader.read( "switch_green_24_down.png" ), 4 );
		imagesSwitch24.add( loader.read( "switch_green_24_up.png" ), 5 );
		imagesSwitch24.add( loader.read( "switch_yellow_24_down.png" ), 6 );
		imagesSwitch24.add( loader.read( "switch_yellow_24_up.png" ), 7 );
		imagesSwitch24.add( loader.read( "switch_amber_24_down.png" ), 8 );
		imagesSwitch24.add( loader.read( "switch_amber_24_up.png" ), 9 );
		imagesSwitch24.add( loader.read( "switch_black_24_down.png" ), 10 );
		imagesSwitch24.add( loader.read( "switch_black_24_up.png" ), 11 );
		
		imagesButton24.add( loader.read( "button_red_24_unlit.png" ), 0 );
		imagesButton24.add( loader.read( "button_red_24_lit.png" ), 1 );
		imagesButton24.add( loader.read( "button_blue_24_unlit.png" ), 2 );
		imagesButton24.add( loader.read( "button_blue_24_lit.png" ), 3 );
		imagesButton24.add( loader.read( "button_green_24_unlit.png" ), 4 );
		imagesButton24.add( loader.read( "button_green_24_lit.png" ), 5 );
		imagesButton24.add( loader.read( "button_yellow_24_unlit.png" ), 6 );
		imagesButton24.add( loader.read( "button_yellow_24_lit.png" ), 7 );

		imagesDial64.add( loader.read( "dial_up_64.png" ), 0 );
		imagesDial64.add( loader.read( "dial_upright_64.png" ), 1 );
		imagesDial64.add( loader.read( "dial_right_64.png" ), 2 );
		imagesDial64.add( loader.read( "dial_downright_64.png" ), 3 );
		imagesDial64.add( loader.read( "dial_down_64.png" ), 4 );
		imagesDial64.add( loader.read( "dial_downleft_64.png" ), 5 );
		imagesDial64.add( loader.read( "dial_left_64.png" ), 6 );
		imagesDial64.add( loader.read( "dial_upleft_64.png" ), 7 );
		
		imagesDial96.add( loader.read( "dial_up.png" ), 0 );
		imagesDial96.add( loader.read( "dial_upright.png" ), 1 );
		imagesDial96.add( loader.read( "dial_right.png" ), 2 );
		imagesDial96.add( loader.read( "dial_downright.png" ), 3 );
		imagesDial96.add( loader.read( "dial_down.png" ), 4 );
		imagesDial96.add( loader.read( "dial_downleft.png" ), 5 );
		imagesDial96.add( loader.read( "dial_left.png" ), 6 );
		imagesDial96.add( loader.read( "dial_upleft.png" ), 7 );
		
		// 16x16 LEDs
		ledRed16 = new ImageList( 2 );
		ledRed16.add( imagesLED16.image( 0 ), 0 );
		ledRed16.add( imagesLED16.image( 1 ), 1 );

		ledBlue16 = new ImageList( 2 );
		ledBlue16.add( imagesLED16.image( 2 ), 0 );
		ledBlue16.add( imagesLED16.image( 3 ), 1 );

		ledGreen16 = new ImageList( 2 );
		ledGreen16.add( imagesLED16.image( 4 ), 0 );
		ledGreen16.add( imagesLED16.image( 5 ), 1 );
		
		ledYellow16 = new ImageList( 2 );
		ledYellow16.add( imagesLED16.image( 6 ), 0 );
		ledYellow16.add( imagesLED16.image( 7 ), 1 );

		ledAmber16 = new ImageList( 2 );
		ledAmber16.add( imagesLED16.image( 8 ), 0 );
		ledAmber16.add( imagesLED16.image( 9 ), 1 );

		// 24x24 LEDs
		ledRed24 = new ImageList( 2 );
		ledRed24.add( imagesLED24.image( 0 ), 0 );
		ledRed24.add( imagesLED24.image( 1 ), 1 );

		ledBlue24 = new ImageList( 2 );
		ledBlue24.add( imagesLED24.image( 2 ), 0 );
		ledBlue24.add( imagesLED24.image( 3 ), 1 );

		ledGreen24 = new ImageList( 2 );
		ledGreen24.add( imagesLED24.image( 4 ), 0 );
		ledGreen24.add( imagesLED24.image( 5 ), 1 );
		
		ledYellow24 = new ImageList( 2 );
		ledYellow24.add( imagesLED24.image( 6 ), 0 );
		ledYellow24.add( imagesLED24.image( 7 ), 1 );

		ledAmber24 = new ImageList( 2 );
		ledAmber24.add( imagesLED24.image( 8 ), 0 );
		ledAmber24.add( imagesLED24.image( 9 ), 1 );

		// 16x16 Switches
		switchRed16 = new ImageList( 2 );
		switchRed16.add( imagesSwitch16.image( 0 ), 0 );
		switchRed16.add( imagesSwitch16.image( 1 ), 1 );

		switchBlue16 = new ImageList( 2 );
		switchBlue16.add( imagesSwitch16.image( 2 ), 0 );
		switchBlue16.add( imagesSwitch16.image( 3 ), 1 );

		switchGreen16 = new ImageList( 2 );
		switchGreen16.add( imagesSwitch16.image( 4 ), 0 );
		switchGreen16.add( imagesSwitch16.image( 5 ), 1 );

		switchYellow16 = new ImageList( 2 );
		switchYellow16.add( imagesSwitch16.image( 6 ), 0 );
		switchYellow16.add( imagesSwitch16.image( 7 ), 1 );

		switchAmber16 = new ImageList( 2 );
		switchAmber16.add( imagesSwitch16.image( 8 ), 0 );
		switchAmber16.add( imagesSwitch16.image( 9 ), 1 );

		switchBlack16 = new ImageList( 2 );
		switchBlack16.add( imagesSwitch16.image( 10 ), 0 );
		switchBlack16.add( imagesSwitch16.image( 11 ), 1 );

		// 24x24 Switches
		switchRed24 = new ImageList( 2 );
		switchRed24.add( imagesSwitch24.image( 0 ), 0 );
		switchRed24.add( imagesSwitch24.image( 1 ), 1 );

		switchBlue24 = new ImageList( 2 );
		switchBlue24.add( imagesSwitch24.image( 2 ), 0 );
		switchBlue24.add( imagesSwitch24.image( 3 ), 1 );

		switchGreen24 = new ImageList( 2 );
		switchGreen24.add( imagesSwitch24.image( 4 ), 0 );
		switchGreen24.add( imagesSwitch24.image( 5 ), 1 );

		switchYellow24 = new ImageList( 2 );
		switchYellow24.add( imagesSwitch24.image( 6 ), 0 );
		switchYellow24.add( imagesSwitch24.image( 7 ), 1 );

		switchAmber24 = new ImageList( 2 );
		switchAmber24.add( imagesSwitch24.image( 8 ), 0 );
		switchAmber24.add( imagesSwitch24.image( 9 ), 1 );

		switchBlack24 = new ImageList( 2 );
		switchBlack24.add( imagesSwitch24.image( 10 ), 0 );
		switchBlack24.add( imagesSwitch24.image( 11 ), 1 );
		
		// 24x24 buttons
		buttonRed24 = new ImageList( 2 );
		buttonRed24.add( imagesButton24.image( 0 ), 0 );
		buttonRed24.add( imagesButton24.image( 1 ), 1 );

		buttonBlue24 = new ImageList( 2 );
		buttonBlue24.add( imagesButton24.image( 2 ), 0 );
		buttonBlue24.add( imagesButton24.image( 3 ), 1 );

		buttonGreen24 = new ImageList( 2 );
		buttonGreen24.add( imagesButton24.image( 4 ), 0 );
		buttonGreen24.add( imagesButton24.image( 5 ), 1 );

		buttonYellow24 = new ImageList( 2 );
		buttonYellow24.add( imagesButton24.image( 6 ), 0 );
		buttonYellow24.add( imagesButton24.image( 7 ), 1 );

		// 64x64 dials
		dial64 = new ImageList( 8 );
		dial64.add( imagesDial64.image( 0 ) , 0 );
		dial64.add( imagesDial64.image( 1 ) , 1 );
		dial64.add( imagesDial64.image( 2 ) , 2 );
		dial64.add( imagesDial64.image( 3 ) , 3 );
		dial64.add( imagesDial64.image( 4 ) , 4 );
		dial64.add( imagesDial64.image( 5 ) , 5 );
		dial64.add( imagesDial64.image( 6 ) , 6 );
		dial64.add( imagesDial64.image( 7 ) , 7 );

		// 96x96 dials
		dial96 = new ImageList( 8 );
		dial96.add( imagesDial96.image( 0 ) , 0 );
		dial96.add( imagesDial96.image( 1 ) , 1 );
		dial96.add( imagesDial96.image( 2 ) , 2 );
		dial96.add( imagesDial96.image( 3 ) , 3 );
		dial96.add( imagesDial96.image( 4 ) , 4 );
		dial96.add( imagesDial96.image( 5 ) , 5 );
		dial96.add( imagesDial96.image( 6 ) , 6 );
		dial96.add( imagesDial96.image( 7 ) , 7 );
	}
}
